import service from '@/utils/request'

/**
 * 管理员登录
 * @param {Object} data - 登录信息
 * @param {string} data.username - 用户名
 * @param {string} data.password - 密码
 * @returns {Promise} 登录结果
 */
export function adminLogin(data) {
  return service({
    url: '/jiang/login',
    method: 'post',
    data
  })
}

/**
 * 刷新管理员令牌
 * @returns {Promise} 新的令牌
 */
export function refreshAdminToken() {
  return service({
    url: '/jiang/refresh-token',
    method: 'post'
  })
}

/**
 * 获取仪表盘卡片数据
 * @returns {Promise} 仪表盘数据
 */
export function getDashboardCards() {
  return service({
    url: '/jiang/dashboard/cards',
    method: 'get'
  })
}

/**
 * 获取管理员信息
 * @returns {Promise} 管理员信息
 */
export function getAdminInfo() {
  return service({
    url: '/jiang/info',
    method: 'get'
  })
}

/**
 * 管理员登出
 * @returns {Promise}
 */
export function logout() {
  return service({
    url: '/jiang/logout',
    method: 'post'
  })
}

// 获取管理员列表
export function getAdminList() {
  return service({
    url: '/jiang/list',
    method: 'get'
  })
}

// 添加管理员
export function addAdmin(data) {
  return service({
    url: '/jiang/add',
    method: 'post',
    data
  })
}

// 获取角色列表
export function getRoleList(params) {
  return service({
    url: '/jiang/roles',
    method: 'get',
    params
  })
}

// 获取权限列表
export function getPermissionList(params) {
  return service({
    url: '/jiang/permissions',
    method: 'get',
    params
  })
}

// 获取权限树
export function getPermissionTree() {
  return service({
    url: '/jiang/permissions/tree',
    method: 'get'
  })
}

// 创建角色
export function createRole(data) {
  return service({
    url: '/jiang/roles',
    method: 'post',
    data
  })
}

// 更新角色
export function updateRole(id, data) {
  return service({
    url: `/jiang/roles/${id}`,
    method: 'put',
    data
  })
}

// 删除角色
export function deleteRole(id) {
  return service({
    url: `/jiang/roles/${id}`,
    method: 'delete'
  })
}

// 获取角色权限
export function getRolePermissions(roleId) {
  return service({
    url: `/jiang/roles/${roleId}/permissions`,
    method: 'get'
  })
}

// 更新角色权限
export function updateRolePermissions(roleId, permissionIds) {
  return service({
    url: `/jiang/roles/${roleId}/permissions`,
    method: 'put',
    data: { permissionIds }
  })
}

// 创建权限
export function createPermission(data) {
  return service({
    url: '/jiang/permissions',
    method: 'post',
    data
  })
}

// 更新权限
export function updatePermission(id, data) {
  return service({
    url: `/jiang/permissions/${id}`,
    method: 'put',
    data
  })
}

// 删除权限
export function deletePermission(id) {
  return service({
    url: `/jiang/permissions/${id}`,
    method: 'delete'
  })
}

